package person.learn.listener;

import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import person.learn.event.ContentEvent;

/**
 * Created by barton on 16-1-26.
 * 1. ApplicationEvent 事件监听器，当applicationContext有事件推送时，此Listener的onApplicationEvent方法就会自动执行
 * 2. 订阅-发布模式/观察者模式
 * 3. 这是一个无序的监听器，就是说可能后发送过来的先执行了，而先发送的后执行了。
 * 4. 应该是先执行有序监听器，后执行无序监听器
 */
@Component
public class NoOrderContentListener implements ApplicationListener<ApplicationEvent> {
    @Override
    public void onApplicationEvent(final ApplicationEvent event) {
        if (event instanceof ContentEvent) {
            System.out.println("NoOrder发送：" + event.getSource());
        }
    }
}
